导航菜单
首页 >  EasyX 文档  > EasyX 文档

EasyX 文档

ExMessage

这个结构体用于保存鼠标消息,定义如下:

struct ExMessage{USHORT message;// 消息标识union{// 鼠标消息的数据struct{bool ctrl:1;// Ctrl 键是否按下bool shift:1;// Shift 键是否按下bool lbutton:1;// 鼠标左键是否按下bool mbutton:1;// 鼠标中键是否按下bool rbutton:1;// 鼠标右键short x;// 鼠标的 x 坐标short y;// 鼠标的 y 坐标short wheel;// 鼠标滚轮滚动值,为 120 的倍数};// 按键消息的数据struct{BYTE vkcode;// 按键的虚拟键码BYTE scancode;// 按键的扫描码(依赖于 OEM)bool extended:1;// 按键是否是扩展键bool prevdown:1;// 按键的前一个状态是否按下};// 字符消息的数据TCHAR ch;// 窗口消息的数据struct{WPARAM wParam;LPARAM lParam;};};};成员message

消息标识,可为以下值:

消息标识消息类别描述WM_MOUSEMOVEEX_MOUSE鼠标移动消息。WM_MOUSEWHEELEX_MOUSE鼠标滚轮拨动消息。WM_LBUTTONDOWNEX_MOUSE左键按下消息。WM_LBUTTONUPEX_MOUSE左键弹起消息。WM_LBUTTONDBLCLKEX_MOUSE左键双击消息。WM_MBUTTONDOWNEX_MOUSE中键按下消息。WM_MBUTTONUPEX_MOUSE中键弹起消息。WM_MBUTTONDBLCLKEX_MOUSE中键双击消息。WM_RBUTTONDOWNEX_MOUSE右键按下消息。WM_RBUTTONUPEX_MOUSE右键弹起消息。WM_RBUTTONDBLCLKEX_MOUSE右键双击消息。WM_KEYDOWNEX_KEY按键按下消息WM_KEYUPEX_KEY按键弹起消息。WM_CHAREX_CHAR字符消息。WM_ACTIVATEEX_WINDOW窗口激活状态改变消息。WM_MOVEEX_WINDOW窗口移动消息。WM_SIZEEX_WINDOW窗口大小改变消息。ctrl

Ctrl 键是否按下。仅当消息所属类别为 EX_MOUSE 时有效。

shift

Shift 键是否按下。仅当消息所属类别为 EX_MOUSE 时有效。

lbutton

鼠标左键是否按下。仅当消息所属类别为 EX_MOUSE 时有效。

mbutton

鼠标中键是否按下。仅当消息所属类别为 EX_MOUSE 时有效。

rbutton

鼠标右键是否按下。仅当消息所属类别为 EX_MOUSE 时有效。

x

当前鼠标 x 坐标(物理坐标)。仅当消息所属类别为 EX_MOUSE 时有效。

y

当前鼠标 y 坐标(物理坐标)。仅当消息所属类别为 EX_MOUSE 时有效。

wheel

鼠标滚轮滚动值,为 120 的倍数。仅当消息所属类别为 EX_MOUSE 时有效。

vkcode

按键的虚拟键码。仅当消息所属类别为 EX_KEY 时有效。

在微软网站上列出有所有的虚拟键码:https://docs.microsoft.com/windows/win32/inputdev/virtual-key-codes

scancode

按键的扫描码(依赖于 OEM)。仅当消息所属类别为 EX_KEY 时有效。

extended

按键是否为扩展按键,例如功能键和数字键盘。仅当消息所属类别为 EX_KEY 时有效。

prevdown

按键的前一个状态是否为按下。仅当消息所属类别为 EX_KEY 时有效。

ch

收到的字符。仅当消息所属类别为 EX_CHAR 时有效。

wParam

消息对应的 wParam 参数。仅当消息所属类别为 EX_WINDOW 时有效。

lParam

消息对应的 lParam 参数。仅当消息所属类别为 EX_WINDOW 时有效。

示例

相关推荐: